<?php
/*
	Version: 1.3
	http://usercake.com
	
	Developed by: Adam Davis
*/

require_once("models/config.php");

class userCakeMail {

	//UserCake uses a text based system with hooks to replace various strs in txt email templates
	public $contents = NULL;

	//Function used for replacing hooks in our templates
	public function newTemplateMsg($template,$additionalHooks)
	{
		global $mail_templates_dir,$debug_mode;
	
		$this->contents = @file_get_contents($mail_templates_dir.$template);

		//Check to see we can access the file / it has some contents
		if(!$this->contents || empty($this->contents))
		{
			if($debug_mode)
			{
				if(!$this->contents) { echo "Unable to open mail-templates directory. Perhaps try: ".getenv("DOCUMENT_ROOT")."/YOUR-USER-CAKE-DIRECTORY/models/mail-templates/"."    in models/settings.php for mail directory"; die; }
				else if(empty($this->contents)) { echo "Template file is empty... nothing to send."; die; }
			}
		
			return false;
		}
		else
		{
			//Replace default hooks
			$this->contents = replaceDefaultHook($this->contents);
		
			//Replace defined / custom hooks
			$this->contents = str_replace($additionalHooks["searchStrs"],$additionalHooks["subjectStrs"],$this->contents);

			//Do we need to include an email footer?
			//Try and find the #INC-FOOTER hook
			if(strpos($this->contents,"#INC-FOOTER#") !== FALSE)
			{
				$footer = @file_get_contents($mail_templates_dir."email-footer.txt");
				if($footer && !empty($footer)) $this->contents .= replaceDefaultHook($footer); 
				$this->contents = str_replace("#INC-FOOTER#","",$this->contents);
			}
			
			return true;
		}
	}
	
	public function sendMail($email,$subject,$msg = NULL)
	{
		global $websiteName,$emailAddress;
		
		$header  = "MIME-Version: 1.0" . "\r\n";
		$header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
		$header .= "From: ". $websiteName . " <" . $emailAddress . ">\r\n";
		
		 
		//Check to see if we sending a template email.
		if($msg == NULL)
			$msg = $this->contents; 
		
		$message .= "<html><head><title>".$subject."</title></head><body>";
		$message .= $msg;
		$message .= "</body></html>";
		
		$message = wordwrap($message, 70);
			
		return mail($email,$subject,$message,$header);
	}
}


?>